DBPD: A Dynamic Birthmark-based Software Plagiarism Detection Tool
نویسندگان
چکیده
With the burst of open source software, software plagiarism has been a serious threat to the software industry. In this paper, we present the demo tool DBPD: Dynamic Birthmark-based Software Plagiarism Detection. Major features of DBPD could be summarized as: 1) dynamic birthmark. The execution process of software is captured to generate the birthmark reflecting intrinsic properties of software; 2) high availability. It is available for crossplatform and binary executable’s plagiarism detection; 3) customizable. The birthmarks, similarity calculation metrics and detection criteria are configurable. The DBPD is implemented using C++ and Java, and currently can work under both Windows and Linux system. Three dynamic birthmarks are implemented in DBPD to identify the software according to its instruction, stack operation and system call.
منابع مشابه
Reviving Sequential Program Birthmarking for Multithreaded Software Plagiarism Detection
As multithreaded programs become increasingly popular, plagiarism of multithreaded programs starts to plague the software industry. Although there has been tremendous progress on software plagiarism detection technology, existing dynamic birthmark approaches are applicable only to sequential programs, due to the fact that thread scheduling nondeterminism severely perturbs birthmark generation a...
متن کاملExploiting thread-related system calls for plagiarism detection of multithreaded programs
Dynamic birthmarking used to be an effective approach to detecting software plagiarism. Yet the new trend towards multithreaded programming renders existing algorithms almost useless, due to the fact that thread scheduling nondeterminism severely perturbs birthmark generation and comparison. In this paper, we redesign birthmark based software plagiarism detection algorithms to make such approac...
متن کاملPolymorphic Attacks against Sequence-based Software Birthmarks
Sequence alignment algorithms have recently found a use in detecting code clones, software plagiarism, code theft, and polymorphic malware. This approach involves extracting birthmarks, in this case sequences, from programs and comparing them using sequence alignment, a procedure which has been intensively studied in the field of bioinformatics. This idea seems promising. However, we have shown...
متن کاملDynamic Software Birthmark for Java Based on Heap Memory Analysis
Code theft has been a serious threat to the survival of the software industry. A dynamic software birthmark can help detect code theft by comparing the intrinsic characteristics of two programs extracted during their execution. We propose a dynamic birthmark system for Java based on the object reference graph. To the best of our knowledge, it is the first dynamic software birthmark making use o...
متن کاملDetecting Theft of Java Applications via a Static Birthmark Based on Weighted Stack Patterns
A software birthmark means the inherent characteristics of a program that can be used to identify the program. A comparison of such birthmarks facilitates the detection of software theft. In this paper, we propose a static Java birthmark based on a set of stack patterns, which reflect the characteristic of Java applications. A stack pattern denotes a sequence of bytecodes that share their opera...
متن کامل